1e5c31af7Sopenharmony_ci------------------------------------------------------------------------- 2e5c31af7Sopenharmony_cidrawElements Quality Program Documentation 3e5c31af7Sopenharmony_ci----------------------------------------------- 4e5c31af7Sopenharmony_ci 5e5c31af7Sopenharmony_ciCopyright 2014 The Android Open Source Project 6e5c31af7Sopenharmony_ci 7e5c31af7Sopenharmony_ciLicensed under the Apache License, Version 2.0 (the "License"); 8e5c31af7Sopenharmony_ciyou may not use this file except in compliance with the License. 9e5c31af7Sopenharmony_ciYou may obtain a copy of the License at 10e5c31af7Sopenharmony_ci 11e5c31af7Sopenharmony_ci http://www.apache.org/licenses/LICENSE-2.0 12e5c31af7Sopenharmony_ci 13e5c31af7Sopenharmony_ciUnless required by applicable law or agreed to in writing, software 14e5c31af7Sopenharmony_cidistributed under the License is distributed on an "AS IS" BASIS, 15e5c31af7Sopenharmony_ciWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16e5c31af7Sopenharmony_ciSee the License for the specific language governing permissions and 17e5c31af7Sopenharmony_cilimitations under the License. 18e5c31af7Sopenharmony_ci------------------------------------------------------------------------- 19e5c31af7Sopenharmony_ci 20e5c31af7Sopenharmony_ci OpenGL ES 2.0 Negative API tests - Function listing 21e5c31af7Sopenharmony_ci 22e5c31af7Sopenharmony_ciLegend: 23e5c31af7Sopenharmony_ci o = Tests done 24e5c31af7Sopenharmony_ci - = Test not done 25e5c31af7Sopenharmony_ci x = Will not generate errors, no negative test 26e5c31af7Sopenharmony_ci 27e5c31af7Sopenharmony_ci----------------------------------------------- 28e5c31af7Sopenharmony_ci Special functions 29e5c31af7Sopenharmony_ci----------------------------------------------- 30e5c31af7Sopenharmony_ci 31e5c31af7Sopenharmony_cix glFinish (void); 32e5c31af7Sopenharmony_cix glFlush (void); 33e5c31af7Sopenharmony_cio glHint (GLenum target, GLenum mode); 34e5c31af7Sopenharmony_ci 35e5c31af7Sopenharmony_ci----------------------------------------------- 36e5c31af7Sopenharmony_ci State functions 37e5c31af7Sopenharmony_ci----------------------------------------------- 38e5c31af7Sopenharmony_ci 39e5c31af7Sopenharmony_cio glDisable (GLenum cap); 40e5c31af7Sopenharmony_cio glEnable (GLenum cap); 41e5c31af7Sopenharmony_cio glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); 42e5c31af7Sopenharmony_cio glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); 43e5c31af7Sopenharmony_cio glGetBooleanv (GLenum pname, GLboolean* params); 44e5c31af7Sopenharmony_cix glGetError (void); 45e5c31af7Sopenharmony_cio glGetFloatv (GLenum pname, GLfloat* params); 46e5c31af7Sopenharmony_cio glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); 47e5c31af7Sopenharmony_cio glGetIntegerv (GLenum pname, GLint* params); 48e5c31af7Sopenharmony_cio glGetProgramiv (GLuint program, GLenum pname, GLint* params); 49e5c31af7Sopenharmony_cio glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); 50e5c31af7Sopenharmony_cio glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); 51e5c31af7Sopenharmony_cio glGetShaderiv (GLuint shader, GLenum pname, GLint* params); 52e5c31af7Sopenharmony_cio glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); 53e5c31af7Sopenharmony_cio glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); 54e5c31af7Sopenharmony_cio glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); 55e5c31af7Sopenharmony_cio glGetString (GLenum name); 56e5c31af7Sopenharmony_cio glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); 57e5c31af7Sopenharmony_cio glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); 58e5c31af7Sopenharmony_cio glGetUniformfv (GLuint program, GLint location, GLfloat* params); 59e5c31af7Sopenharmony_cio glGetUniformiv (GLuint program, GLint location, GLint* params); 60e5c31af7Sopenharmony_cio glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); 61e5c31af7Sopenharmony_cio glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); 62e5c31af7Sopenharmony_cio glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); 63e5c31af7Sopenharmony_cio glIsEnabled (GLenum cap); 64e5c31af7Sopenharmony_ci 65e5c31af7Sopenharmony_ci----------------------------------------------- 66e5c31af7Sopenharmony_ci Transforms & Fragment API functions 67e5c31af7Sopenharmony_ci----------------------------------------------- 68e5c31af7Sopenharmony_ci 69e5c31af7Sopenharmony_cix glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); 70e5c31af7Sopenharmony_cio glBlendEquation (GLenum mode); 71e5c31af7Sopenharmony_cio glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); 72e5c31af7Sopenharmony_cio glBlendFunc (GLenum sfactor, GLenum dfactor); 73e5c31af7Sopenharmony_cio glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); 74e5c31af7Sopenharmony_cix glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); 75e5c31af7Sopenharmony_cio glDepthFunc (GLenum func); 76e5c31af7Sopenharmony_cix glDepthMask (GLboolean flag); 77e5c31af7Sopenharmony_cix glDepthRangef (GLclampf zNear, GLclampf zFar); 78e5c31af7Sopenharmony_cix glSampleCoverage (GLclampf value, GLboolean invert); 79e5c31af7Sopenharmony_cio glScissor (GLint x, GLint y, GLsizei width, GLsizei height); 80e5c31af7Sopenharmony_cio glStencilFunc (GLenum func, GLint ref, GLuint mask); 81e5c31af7Sopenharmony_cio glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); 82e5c31af7Sopenharmony_cix glStencilMask (GLuint mask); 83e5c31af7Sopenharmony_cio glStencilMaskSeparate (GLenum face, GLuint mask); 84e5c31af7Sopenharmony_cio glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); 85e5c31af7Sopenharmony_cio glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); 86e5c31af7Sopenharmony_cio glViewport (GLint x, GLint y, GLsizei width, GLsizei height); 87e5c31af7Sopenharmony_ci 88e5c31af7Sopenharmony_ci----------------------------------------------- 89e5c31af7Sopenharmony_ci FBO API functions 90e5c31af7Sopenharmony_ci----------------------------------------------- 91e5c31af7Sopenharmony_ci 92e5c31af7Sopenharmony_cio glBindFramebuffer (GLenum target, GLuint framebuffer); 93e5c31af7Sopenharmony_cio glBindRenderbuffer (GLenum target, GLuint renderbuffer); 94e5c31af7Sopenharmony_cio glCheckFramebufferStatus (GLenum target); 95e5c31af7Sopenharmony_cio glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); 96e5c31af7Sopenharmony_cio glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); 97e5c31af7Sopenharmony_cio glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); 98e5c31af7Sopenharmony_cio glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); 99e5c31af7Sopenharmony_cio glGenFramebuffers (GLsizei n, GLuint* framebuffers); 100e5c31af7Sopenharmony_cio glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); 101e5c31af7Sopenharmony_cio glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); 102e5c31af7Sopenharmony_ci 103e5c31af7Sopenharmony_ci----------------------------------------------- 104e5c31af7Sopenharmony_ci Buffer and Buffer Object API functions 105e5c31af7Sopenharmony_ci----------------------------------------------- 106e5c31af7Sopenharmony_ci 107e5c31af7Sopenharmony_cio glBindBuffer (GLenum target, GLuint buffer); 108e5c31af7Sopenharmony_cio glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); 109e5c31af7Sopenharmony_cio glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); 110e5c31af7Sopenharmony_cio glClear (GLbitfield mask); 111e5c31af7Sopenharmony_cix glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); 112e5c31af7Sopenharmony_cix glClearDepthf (GLclampf depth); 113e5c31af7Sopenharmony_cix glClearStencil (GLint s); 114e5c31af7Sopenharmony_cio glDeleteBuffers (GLsizei n, const GLuint* buffers); 115e5c31af7Sopenharmony_cio glGenBuffers (GLsizei n, GLuint* buffers); 116e5c31af7Sopenharmony_cio glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); 117e5c31af7Sopenharmony_ci 118e5c31af7Sopenharmony_ci----------------------------------------------- 119e5c31af7Sopenharmony_ci Shader API functions 120e5c31af7Sopenharmony_ci----------------------------------------------- 121e5c31af7Sopenharmony_ci 122e5c31af7Sopenharmony_cio glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); 123e5c31af7Sopenharmony_cio glAttachShader (GLuint program, GLuint shader); 124e5c31af7Sopenharmony_cio glCreateShader (GLenum type); 125e5c31af7Sopenharmony_cio glCompileShader (GLuint shader); 126e5c31af7Sopenharmony_cix glCreateProgram (void); 127e5c31af7Sopenharmony_cio glDeleteProgram (GLuint program); 128e5c31af7Sopenharmony_cio glDeleteShader (GLuint shader); 129e5c31af7Sopenharmony_cio glDetachShader (GLuint program, GLuint shader); 130e5c31af7Sopenharmony_cio glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 131e5c31af7Sopenharmony_cio glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 132e5c31af7Sopenharmony_cio glGetAttribLocation (GLuint program, const GLchar* name); 133e5c31af7Sopenharmony_cio glGetUniformLocation (GLuint program, const GLchar* name); 134e5c31af7Sopenharmony_cio glLinkProgram (GLuint program); 135e5c31af7Sopenharmony_cio glReleaseShaderCompiler (void); 136e5c31af7Sopenharmony_cio glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); 137e5c31af7Sopenharmony_cio glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length); 138e5c31af7Sopenharmony_cio glUniform1f (GLint location, GLfloat x); 139e5c31af7Sopenharmony_cio glUniform1fv (GLint location, GLsizei count, const GLfloat* v); 140e5c31af7Sopenharmony_cio glUniform1i (GLint location, GLint x); 141e5c31af7Sopenharmony_cio glUniform1iv (GLint location, GLsizei count, const GLint* v); 142e5c31af7Sopenharmony_cio glUniform2f (GLint location, GLfloat x, GLfloat y); 143e5c31af7Sopenharmony_cio glUniform2fv (GLint location, GLsizei count, const GLfloat* v); 144e5c31af7Sopenharmony_cio glUniform2i (GLint location, GLint x, GLint y); 145e5c31af7Sopenharmony_cio glUniform2iv (GLint location, GLsizei count, const GLint* v); 146e5c31af7Sopenharmony_cio glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); 147e5c31af7Sopenharmony_cio glUniform3fv (GLint location, GLsizei count, const GLfloat* v); 148e5c31af7Sopenharmony_cio glUniform3i (GLint location, GLint x, GLint y, GLint z); 149e5c31af7Sopenharmony_cio glUniform3iv (GLint location, GLsizei count, const GLint* v); 150e5c31af7Sopenharmony_cio glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 151e5c31af7Sopenharmony_cio glUniform4fv (GLint location, GLsizei count, const GLfloat* v); 152e5c31af7Sopenharmony_cio glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); 153e5c31af7Sopenharmony_cio glUniform4iv (GLint location, GLsizei count, const GLint* v); 154e5c31af7Sopenharmony_cio glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); 155e5c31af7Sopenharmony_cio glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); 156e5c31af7Sopenharmony_cio glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); 157e5c31af7Sopenharmony_cio glUseProgram (GLuint program); 158e5c31af7Sopenharmony_cio glValidateProgram (GLuint program); 159e5c31af7Sopenharmony_ci 160e5c31af7Sopenharmony_ci----------------------------------------------- 161e5c31af7Sopenharmony_ci Texture API functions 162e5c31af7Sopenharmony_ci----------------------------------------------- 163e5c31af7Sopenharmony_ci 164e5c31af7Sopenharmony_cio glActiveTexture (GLenum texture); 165e5c31af7Sopenharmony_cio glBindTexture (GLenum target, GLuint texture); 166e5c31af7Sopenharmony_cio glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); 167e5c31af7Sopenharmony_cio glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); 168e5c31af7Sopenharmony_cio glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); 169e5c31af7Sopenharmony_cio glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); 170e5c31af7Sopenharmony_cio glDeleteTextures (GLsizei n, const GLuint* textures); 171e5c31af7Sopenharmony_cio glGenerateMipmap (GLenum target); 172e5c31af7Sopenharmony_cio glGenTextures (GLsizei n, GLuint* textures); 173e5c31af7Sopenharmony_cio glPixelStorei (GLenum pname, GLint param); 174e5c31af7Sopenharmony_cio glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); 175e5c31af7Sopenharmony_cio glTexParameterf (GLenum target, GLenum pname, GLfloat param); 176e5c31af7Sopenharmony_cio glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); 177e5c31af7Sopenharmony_cio glTexParameteri (GLenum target, GLenum pname, GLint param); 178e5c31af7Sopenharmony_cio glTexParameteriv (GLenum target, GLenum pname, const GLint* params); 179e5c31af7Sopenharmony_cio glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); 180e5c31af7Sopenharmony_ci 181e5c31af7Sopenharmony_ci----------------------------------------------- 182e5c31af7Sopenharmony_ci Vertex Array API functions 183e5c31af7Sopenharmony_ci----------------------------------------------- 184e5c31af7Sopenharmony_ci 185e5c31af7Sopenharmony_cio glDisableVertexAttribArray (GLuint index); 186e5c31af7Sopenharmony_cio glDrawArrays (GLenum mode, GLint first, GLsizei count); 187e5c31af7Sopenharmony_cio glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); 188e5c31af7Sopenharmony_cio glEnableVertexAttribArray (GLuint index); 189e5c31af7Sopenharmony_cio glVertexAttrib1f (GLuint indx, GLfloat x); 190e5c31af7Sopenharmony_cio glVertexAttrib1fv (GLuint indx, const GLfloat* values); 191e5c31af7Sopenharmony_cio glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); 192e5c31af7Sopenharmony_cio glVertexAttrib2fv (GLuint indx, const GLfloat* values); 193e5c31af7Sopenharmony_cio glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); 194e5c31af7Sopenharmony_cio glVertexAttrib3fv (GLuint indx, const GLfloat* values); 195e5c31af7Sopenharmony_cio glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 196e5c31af7Sopenharmony_cio glVertexAttrib4fv (GLuint indx, const GLfloat* values); 197e5c31af7Sopenharmony_cio glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); 198e5c31af7Sopenharmony_ci 199e5c31af7Sopenharmony_ci----------------------------------------------- 200e5c31af7Sopenharmony_ci Rasterization API functions 201e5c31af7Sopenharmony_ci----------------------------------------------- 202e5c31af7Sopenharmony_ci 203e5c31af7Sopenharmony_cio glCullFace (GLenum mode); 204e5c31af7Sopenharmony_cio glFrontFace (GLenum mode); 205e5c31af7Sopenharmony_cio glLineWidth (GLfloat width); 206e5c31af7Sopenharmony_cix glPolygonOffset (GLfloat factor, GLfloat units); 207e5c31af7Sopenharmony_ci 208e5c31af7Sopenharmony_ci----------------------------------------------- 209e5c31af7Sopenharmony_ci Named object usage 210e5c31af7Sopenharmony_ci----------------------------------------------- 211e5c31af7Sopenharmony_ci 212e5c31af7Sopenharmony_cio glIsBuffer (GLuint buffer); 213e5c31af7Sopenharmony_cio glIsFramebuffer (GLuint framebuffer); 214e5c31af7Sopenharmony_cio glIsProgram (GLuint program); 215e5c31af7Sopenharmony_cio glIsRenderbuffer (GLuint renderbuffer); 216e5c31af7Sopenharmony_cio glIsShader (GLuint shader); 217e5c31af7Sopenharmony_cio glIsTexture (GLuint texture); 218